package com.kingcore.note;

import java.util.Vector;

public class Test001 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		//
		
		//generateCode();
		
		//测试使用的是对象的引用还是复制的新对象
		String sql="abc";
		Vector v=new Vector();
		v.add(sql);
		sql="efg";
		System.out.println("sql="+sql);
		System.out.println("v(0)="+v.get(0).toString());
		// 结论：String 对象一般是采用值传递，即创建一份新的，原来的修改不影响新的

		Vector v1=new Vector();
		Vector v2=new Vector();
		sql="abc";
		v1.add(sql);
		sql="efg";
		v2.add(sql);
		
		v.removeAllElements();
		v.add(v1);
		v.add(v2);
		System.out.println("v="+ ((Vector)v.get(0)).get(0).toString() +" "
				               + ((Vector)v.get(1)).get(0).toString());
		
		sql="hij";
		v2.set(0,sql);
		System.out.println("v="+ ((Vector)v.get(0)).get(0).toString() +" "
	               + ((Vector)v.get(1)).get(0).toString());
		// 结论：Vector对象使用的是引用，原来的对象的修改将影响所有引用。
	}

	/**
     *  Returns a default name for the column using spreadsheet conventions:
     *  A, B, C, ... Z, AA, AB, etc. 
     *  
	 */
	private static void generateCode() {
		String result = "";
		int column;
		for (int i = 0; i < 28; i++) {
			result="";
			column=i;
			for (; column >= 0; column = column / 26 - 1) {
			    result = (char)((char)(column%26)+'A') + result;
			}
		     //return result;
			System.out.println("resut"+column+"="+result);
		}
		
	}

}
